package com.jack.lib.net.retry

import com.jack.lib.core.net.JBaseData
import com.jack.lib.net.JNetParam


/**
 * author : chong.huang
* create : 2/14/21
 * desc   :
 */
interface Retry {

    companion object {
        fun default(): Retry = AutoRetry()
    }

    fun retry()

    fun <T, J: JBaseData<T>> catchThrowableAdd(throwable: Throwable, param: JNetParam<T, J>)

    fun <T, J: JBaseData<T>> add(param: JNetParam<T, J>)
}